#include "stm32l0xx_hal.h"
#include "delay.h"
// 延时函数
void DelayMicroseconds(uint32_t us)
{
    uint32_t ticks = (SystemCoreClock / 1000000) * us; // 计算所需的滴答数
    uint32_t current_tick = SysTick->VAL; // 读取当前SysTick值

    // 如果SysTick的值小于所需的滴答数，我们需要等待它重新加载
    if (current_tick < ticks)
    {
        while (SysTick->VAL >= current_tick)
        {
            // 等待SysTick重新加载
        }
    }
    else
    {
        // 否则，我们需要等待SysTick值减到小于ticks
        while (SysTick->VAL > ticks)
        {
            // 等待SysTick值减少
        }
    }
}
